/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package stud.cp.user.valueobjects;

/**
 * Класс, описывающий
 * значение свойства.
 * @author Morfant
 */
public class PropertyValue {

    /**
     * ID значения свойства.
     */
    private Integer property_value_id;

    /**
     * ID свойства
     */
    private Integer property_id;

    /**
     * Значения
     */
    private String value;

    /**
     * ID оружия
     */
    private Integer weapon_id;

    /**
     * ID списочного свойства
     */
    private Integer property_list_value_id;

    /**
     * Списочное значение
     */
    private String property_list_value;

    /**
     * Имя свойства.
     */
    private String property_name;

    /**
     * Имя группы свойства.
     */
    private String property_group_name;

    /**
     * ID типа совйства
     */
    private Integer property_type_id;


    /**
     * Полный конструктор.
     * @param property_value_id ID значения свойства
     * @param property_id ID свойства
     * @param value Значение
     * @param weapon_id ID оружия
     * @param property_list_value_id ID по которому находиться списочное значение
     * @param property_list_value Значие списочного свойства.
     * @param property_name Имя
     * @param property_group_name Имя группы свойства.
     * @param property_type_id Тип свойства
     */
    public PropertyValue(Integer property_value_id, Integer property_id, String value, Integer weapon_id,
            Integer property_list_value_id,String property_list_value, String property_name,String property_group_name,
            Integer property_type_id) {
        this.property_value_id = property_value_id;
        this.property_id = property_id;
        this.value = value;
        this.weapon_id = weapon_id;
        this.property_list_value_id = property_list_value_id;
        this.property_list_value=property_list_value;
        this.property_name = property_name;
        this.property_group_name=property_group_name;
        this.property_type_id=property_type_id;
    }

    /**
     * Конструктор для создания.
     * @param property_id ID свойства
     * @param value значение
     * @param weapon_id ID оружия
     * @param property_list_value_id ID списочного значения
     */
    public PropertyValue(Integer property_id, String value, Integer weapon_id, Integer property_list_value_id) {
        this.property_value_id=1;
        this.property_id = property_id;
        this.value = value;
        this.weapon_id = weapon_id;
        this.property_list_value_id = property_list_value_id;
        this.property_name = "";
    }

    /**
     * Получить ID свойства
     * @return ID свойства
     */
    public Integer getProperty_id() {
        return property_id;
    }

    /**
     * Установить ID свойства
     * @param property_id новое ID свойства
     */
    public void setProperty_id(Integer property_id) {
        this.property_id = property_id;
    }

    /**
     * Получить списочное значение
     * @return Списочное значение
     */
    public String getProperty_list_value() {
        return property_list_value;
    }

    /**
     * Получить ID списочного свойства
     * @return ID Списочного свойства
     */
    public Integer getProperty_list_value_id() {
        return property_list_value_id;
    }

    /**
     * Установить ID списочного свойства
     * @param property_list_value_id ID списочного свойства
     */
    public void setProperty_list_value_id(Integer property_list_value_id) {
        this.property_list_value_id = property_list_value_id;
    }

    /**
     * Получить имя свойства
     * @return Имя свойства
     */
    public String getProperty_name() {
        return property_name;
    }

    /**
     * Получить ID значения свойства
     * @return ID значения свойства.
     */
    public Integer getProperty_value_id() {
        return property_value_id;
    }

    /**
     * Получить значение свойства
     * @return Значение свойства
     */
    public String getValue() {
        return value;
    }

    /**
     * Установить значение свойства
     * @param value Новое значение свойства.
     */
    public void setValue(String value) {
        this.value = value;
    }

    /**
     * Получить ID оружия.
     * @return ID оружия
     */
    public Integer getWeapon_id() {
        return weapon_id;
    }

    /**
     * Установить новый ID оружия.
     * @param id ID оружия.
     */
    public void setWeapon_id(Integer id){
        this.weapon_id = id;
    }

    /**
     * Получить имя группы свойства.
     * @return Имя группы свойства.
     */
    public String getProperty_group_name() {
        return property_group_name;
    }

    /**
     * Установить новое имя группы свойства.
     * @param property_group_name Новое имя группы свойства.
     */
    public void setProperty_group_name(String property_group_name) {
        this.property_group_name = property_group_name;
    }

    /**
     * Получить ID типа свойства.
     * @return ID типа свойства.
     */
    public Integer getProperty_type_id() {
        return property_type_id;
    }

    /**
     * Установить ID типа свойства.
     * @param property_type_id ID типа свойства.
     */
    public void setProperty_type_id(Integer property_type_id) {
        this.property_type_id = property_type_id;
    }

}
